<?php namespace Admin\Controller; 
use Hdphp\Controller\Controller;
//后台首页控制器
class CdyController extends CommonController{
////	商品分类名称
//  private $catagory;
////	商品品牌名称
//	private $brand;
////	商品类型
//	private $type;
////	商品类型属性名称
//  private $typeattribute;
////	商品
    private $commodity;
////	商品属性
//  private $specs;
////	商品详情
//	private $productdetils;
	
//	自动执行框架init方法
	public function __init(){
		parent::__init();
//      $this->catagory= new \Common\Model\Admincate;
//		$this->brand= new \Common\Model\Brand;
//		$this->type= new \Common\Model\Admintype;
//		$this->typeattribute= new \Common\Model\Typeattribute;
		$this->commodity=new \Common\Model\Commodity;
//		$this->specs = new \Common\Model\Specs;
//		$this->productdetils =new \Common\Model\Productdetils;
	}
//  显示首页
    public function index(){
//		获得商品总数
		$tal=$this->commodity->count();
//		获得页面
		$page=Page::row(8)->make($tal);
//		分配页面页码
		View::with('page',$page);
//		获得商品截取个数
		$data=$this->commodity->limit(Page::limit())->get();
		View::with('data',$data);
       View::make();
    }	
	
//	 执行添加方法
	public function add(){
		
		if(IS_POST){
			// 商品表调用模型里面的store方法，此方法返回真假
			if(!$this->commodity->store()) View::error($this->commodity->getError());
			View::success('添加成功',U('index'));
		}
//		获得分类数据
        $catagory= new \Common\Model\Admincate;
        $cadata=Data::tree($catagory->get(),'cname');
		View::with('cadata',$cadata);
//		获得品牌数据
        $brand= new \Common\Model\Brand;
		$brdata=$brand->get();
		View::with('brdata',$brdata);
		
       View::make();
	}
//  //uploadify单文件异步上传
	public function upload()
	{
	    $file = Upload::path('Upload/Content/' . date('y/m'))->make();
	    if (empty($file)) {
	        $this->ajax(Upload::getError());
	    } else {
	        /** $file内部就是以下这个数组
	            $file = array(
	                0 => array(
		                'path' => 'Upload/Content/15/8/123981239172.jpg'    ,
		                'url' => 'http://localhost/cms_edu/Upload/Content/15/8/123981239172.jpg',
		                'image' => 1
	            ),
	        );**/
	        //上传成功，把上传好的信息返给js
	        $data = $file[0];
	        echo json_encode($data);exit;
	    }
	}

//	执行异步方法
	public function getTypeAttr(){
		$tid = Q('post.id',0,'intval');
		$typeattribute= new \Common\Model\Typeattribute;
		$data=$typeattribute->where("type_tid={$tid}")->get();
		//p($data);
		foreach ($data as $k => $v) {
			$data[$k]['tavalues'] = explode('|', $v['tavalues']);
		}
		echo json_encode($data);exit;
		
	}
//	商品编辑
	public function edit(){
		if(IS_POST){
			// 商品表调用模型里面的store方法，此方法返回真假
			if(!$this->commodity->edit()) View::error($this->commodity->getError());
			View::success('修改成功',U('index'));
		}
		$cmid=Q('get.cmid',0,'intval');
//		商品详细表，商品表，关联
		$olddata=$this->commodity->where("cmid={$cmid}")->find();
//		实例化商品详细表
		$productdetils =new \Common\Model\Productdetils;
//		获得旧数据
		$prodata=$productdetils->where("commodity_cmid={$cmid}")->find();
//		把图片|隔开转为数组
		$prodata['picture']=explode('|', $prodata['picture']);
		View::with('olddata',$olddata);
		View::with('prodata',$prodata);
////	商品属性表
		$specs = new \Common\Model\Specs;
		$spdata=$specs->where("commodity_cmid={$cmid}")->get();
		View::with('spdata',$spdata);
//		获得分类数据
        $catagory= new \Common\Model\Admincate;
        $cadata=Data::tree($catagory->get(),'cname');
		View::with('cadata',$cadata);
//		p($cadata);
//		获得品牌数据
        $brand= new \Common\Model\Brand;
		$brdata=$brand->get();
		View::with('brdata',$brdata);
		
		//6获得商品属性表的数据
		$goodsattrData=$specs->join('typeattribute','typeattribute_taid','=','taid')->where("commodity_cmid='{$cmid}'")->get();
		array_walk($goodsattrData,function(&$v,$k){
			if(!empty($v['tavalues'])){
				//把字符串转化为数组
				$v['tavalues']=explode('|', $v['tavalues']);
			}
		});
//		p($goodsattrData);
		View::with('goodsattrData',$goodsattrData);

////		展示页面
		View::make();
	}
	
	
	
	public function del(){
//	    删除商品表
//      接受cmid
        $cmid=Q('get.cmid',0,'intval');
        $files=$this->commodity->where("cmid=$cmid")->pluck('columnplot');
//		删除columnplot图片
		if(file_exists($files))unlink($files);
//		删除对应的标表据
        $this->commodity->where("cmid=$cmid")->delete();
		
//		删除商品属性表
		$specs = new \Common\Model\Specs;
		$specs->where("commodity_cmid=$cmid")->delete();

//		删除商品详情表
        $productdetils =new \Common\Model\Productdetils;
		$files=$productdetils->where("commodity_cmid=$cmid")->pluck('picture');
		$file=explode('|', $files);
//		删除columnplot图片
//检查文件是否存在    
        foreach($file as $v){
        	if(file_exists($v)){
        	  unlink($v);
        	}
        }
		$productdetils->where("commodity_cmid=$cmid")->delete();
		View::success('删除成功');
	}
	
	

	
}
